Method for transmitting data between at least one transmitter and at least one receiver, transmitter, receiver, and transmission system thereof

ABSTRACT

This invention relates to a method for transmitting data between at least one transmitter and at least one receiver, in the form of packets of at least one data item, each of said packets being associated with an identifier of said packet, said receiver periodically sending a feedback message to said transmitter, comprising at least one bitmap block associated with a predetermined number of data packets having consecutive identifiers, so as to selectively inform said transmitter of a state of acknowledgement (acknowledged or unacknowledged) of each of said data packets of said block.  
     According to the invention, this method comprises at least one step of associating at least one timer with at least some of said bitmap blocks.

[0001] This invention relates to the field of data transmission between a transmitter and a receiver. More precisely, the invention relates to all communication systems requiring high data transmission quality, and is of special interest for communication systems subject to real time constraints.

[0002] In particular, but not exclusively, the invention is applied to ARQ (Automatic Repeat Request) type transmission protocols, which implement error-checking functions within communication systems. Such ARQ protocols define a set of data transmission rules, structured in successive frames, as packets.

[0003] Many error-checking techniques are generally used in communication systems to compensate for loss and/or degradation of data transmitted from a source point to a destination point. Conventionally, the error checking implements transmission error detection and retransmission of lost or degraded data. According to a known data retransmission technique, the transmitter waits until it has received an explicit discard message from the receiver for data lost or degraded during transmission, in the form of a feedback message, then retransmits as soon as possible the data unacknowledged by the receiver.

[0004] The invention is applied in particular as part of the ARQ error detection and retransmission protocol of the HiperLAN/2 (High Performance Local Area Network Type 2) standard defined by ETSI (European Telecommunications Standards Institute) in ETSI standard TS 101 761-1 V1.1.1 (2000-04) entitled “Broadband Radio Access Network (BRAN); HiperLAN Type 2; Data Link Control (DLC Layer) Part 1: Basic Data Transport Functions).

[0005] The HiperLAN/2 communication standard, also called H/2, defines a high-speed low-range radio access system, and is advantageously applied to wireless local area networks, and wireless access networks. H/2 is a cellular system wherein each radio cell is controlled by an access point, called AP, covering a given geographical area, and handling radio resource distribution among the various mobile terminals (called MT) of the system. H/2 provides three types of transmission, i.e. uplink, downlink, and direct link transmission.

[0006] The HiperLAN/2 ARQ protocol is an ARQ protocol of the “Selective Repeat” type, having several additional mechanisms. The following is a description of the general principle of this protocol.

[0007] An identifier, also called sequence number, is inserted by the ARQ transmitter into each user data packet, also called U-PDU (User Protocol Data Unit), transmitted to the ARQ receiver. This identifier has a 10-bit length, and is incremented by 1 modulo 2¹⁰=1024.

[0008] Hereafter, the term PDU will designate a U-PDU type user data packet.

[0009] The transmitter maintains a list of the sequence numbers it is allowed to transmit, and the receiver maintains a list of the sequence numbers it is prepared to receive. Each of these lists is designed as a PDU window. The sequence number activates the receiver to detect a PDU loss, or the reception of a damaged PDU, and to inform the transmitter thereof via a feedback message. The transmitter then performs a retransmission of the PDUs incorrectly received by the receiver.

[0010] A PDU window is characterized by the variable BoW (Bottom of Window), on the one hand, and by its size K_(s), on the other hand.

[0011] On the transmitter side, BoW is the smallest sequence number associated with a PDU that has not yet been positively acknowledged by the receiver. K_(s) is then the maximum number of PDUs that can be sent and stored in the window waiting for acknowledgement.

[0012] On the receiver side, BoW is the smallest sequence number associated with a PDU that has not yet been received properly by the receiver. K_(s) is then the maximum number of PDUs that can be accepted and stored in the receive window, before one of these PDUs is transmitted to a higher layer.

[0013] In addition to the sequence number, the ARQ receiver or transmitter maintains an acknowledge state variable for each PDU of the window indicating whether the PDU has been received properly or not.

[0014] In the HiperLAN/2 ARQ protocol, each data packet, or PDU, of a receive window is acknowledged selectively within a bitmap block, or by a cumulated feedback message if all the PDUs preceding or surrounding the PDU under consideration in the window, including the considered PDU itself, have been received properly.

[0015] This bitmap block is associated with a predetermined number of PDUs (8 for HiperLAN/2) having consecutive sequence numbers. This association is performed as follows: the sequence number space, starting at sequence number 0, is divided into consecutive sequence number intervals, each interval being associated with a given bitmap block. A given marker bit within a bitmap block is associated with the sequence number having the same position within the associated interval of sequence numbers. Thus, a binary value of 1 within a bitmap block indicates that the PDU, the sequence number of which is associated with the bit involved, is acknowledged positively. Conversely, a binary value of 0 within a bitmap block indicates a negative acknowledgement of the corresponding PDU.

[0016] The bitmap block number corresponds to the position occupied by the interval of sequence numbers with which it is associated, within the sequence number space. A feedback message can transport up to three distinct bitmap blocks.

[0017] The ARQ link established between the transmitter and the receiver is moreover characterized by the total duration of an operating cycle, also called RTT (Round Trip Time). The RTT duration can be defined as the sum of the time the ARQ transmitter requires for sending a PDU, the time the ARQ receiver requires for receiving, processing, and sending a reply to the transmitter as a (positive or negative ) feedback message, and the time the transmitter requires for analysing this feedback message and reading the receiver's reply therefrom regarding the PDU involved.

[0018] As part of HiperLAN/2, the receiver's reply regarding the acknowledgement of a PDU received can be delayed until a certain number of PDUs have been received, or can be delayed unintentionally by the receiver if no resource is available for transmitting it. Therefore, the RTT duration varies for a given ARQ link.

[0019] This RTT duration moreover depends on the ARQ class of the transmitter and the receiver of the ARQ link involved. It is recalled that the ARQ processing time of a transmitter is equal to the minimum number of frames passing before the transmitter can transmit PDUs in response to receiving a feedback message from the receiver. Also, the ARQ processing time of a receiver is equal to the minimum number of frames passing before the receiver can transmit a feedback message in response to receiving one or more PDUs. The ARQ delay classes defined in HiperLAN/2, having a value of 0, 1, 2, or 3, have a direct impact on the processing times of a given ARQ entity (for transmit and receive). Delays have the same value as the class.

[0020] Moreover, each ARQ entity states its ARQ class when transmitting and receiving during a so-called association period, within the H/2 network. Thus, each ARQ entity, on both sides of a transmission path, can determine the likely RTT minimum value, as well as the RTT upper limit that should normally not be reached.

[0021] A disadvantage of the known data transmission techniques implementing a retransmission of lost or degraded data upon explicit acknowledgement, is that they offer no adequate solutions in case a feedback message is lost or degraded.

[0022] Indeed, when a feedback message is lost or degraded, the transmitter does not know which PDUs to retransmit. It must therefore wait to correctly receive a new feedback message, replacing the lost one, containing all or part of the acknowledge data of the lost message, in order to implement the mechanism of retransmitting the unacknowledged data.

[0023] Moreover, if the data exchange protocol does not allow the transmitter to request a specific feedback message or bitmap block, as is the case for instance in the HiperLAN/2 ARQ protocol, the transmitter is unable to predict the time when it will receive the expected feedback message.

[0024] This disadvantage can be a problem when the contents of the feedback message are very important to the transmitter, especially if the feedback message contains information required by the transmitter for moving the window of PDUs to be transmitted.

[0025] For certain applications requiring high-speed data transmission, and in particular for applications subject to real time constraints, the transmitter can make the decision, in case of non receipt or late receipt of a feedback message, not to retransmit the unacknowledged PDUs. In particular, the object of this discard phenomenon is to prevent the transmitter from retransmitting data that would be useless to the receiver, because they would be received too late to be taken into account.

[0026] Conversely, still e.g. as part of a delay-sensitive radio transmission, a late retransmission of PDUs previously received improperly can also lead to the implementation of a discard mechanism, this time on behalf of the receiver.

[0027] This data loss at the receiver implies a quality degradation of the application implemented at the receiving end, in particular when this application is especially sensitive to both data loss and delay.

[0028] Another disadvantage of certain prior art techniques, and in particular of the HiperLAN/2 ARQ protocol, is that they offer no solution to cope with possible operating inconsistencies at the receiver. Thus, according to the H/2 standard, as the way the receiver transmits feedback messages, and the choice of their contents (especially the choice of the bitmap blocks they contain) are not standardized, certain bitmap blocks can be transmitted with a very long delay, and in the worst case scenario, even never be transmitted.

[0029] In particular, the object of the invention is to compensate for these disadvantages of prior art.

[0030] More precisely, it is an object of the invention to provide a data transmission technique implementing error detection and retransmission of lost or damaged data, offering an optimised solution to the problem of a feedback message getting lost or degraded.

[0031] It is also an object of the invention to implement a data transmission technique making it possible to compensate for the disadvantages of prior art techniques according to which, on the one hand, the transmitter does not have specific means for requesting a specific feedback message or bitmap block, and, on the other hand, it can be confronted with possible operating inconsistencies of the receiver.

[0032] It is another object of the invention to implement a data transmission technique, especially but not exclusively adequate for the ARQ protocol, in particular for the HiperLAN/2 standard.

[0033] Furthermore, it is an object of the invention to provide a data transmission technique allowing anticipated retransmission of unacknowledged data packets, in case a feedback message is lost or degraded.

[0034] It is also an object of the invention to implement a technique for communicating between a transmitter and a receiver with high transmission quality.

[0035] As part of ARQ-type protocols, it is another object of the invention to avoid untimely implementation of the discard mechanism, in particular envisaged by the HiperLAN/2 standard.

[0036] The above objects as well as others that will be apparent hereafter, are achieved by means of a method for transmitting data between at least one transmitter and at least one receiver, in the form of packets of at least one data item, each of said data packets being associated with an identifier of said packet, said receiver periodically sending to said transmitter a feedback message comprising at least one bitmap block associated with a predetermined number of data packets having consecutive identifiers, so as to selectively indicate to said transmitter a state of acknowledgement (acknowledged or unacknowledged) of each of said data packets of said block.

[0037] According to the invention, this transmission method comprises at least one step of associating at least one timer with at least some of said bitmap blocks, determining a timeout period beyond which a specific operation is to take place, if no acknowledgement has been received.

[0038] Thus, the invention is based on a totally innovative and inventive data retransmission approach as part of a communication protocol based on error detection and retransmission of lost or damaged data. Indeed, the principle of conventional transmission protocols is based on the implementation of a data retransmission mechanism in response to receiving a feedback message indicating that certain PDUs have not been received correctly. According to the invention, the association of a timer with some bitmap blocks makes it possible to implement anticipated data retransmission, prior to receiving a corresponding feedback message.

[0039] It will be noted that a bitmap block is associated with a predetermined number of data packets, which can be fixed or variable, but is known to the transmitter for the whole duration of the communication with the receiver.

[0040] Associating a timer with a bitmap block clearly appears to be a resource intensive mechanism, but advantageously allows to improve the quality of service provided at the receiving end. Therefore, the invention contradicts the prejudices of those skilled in the art, who consider that the quality of service provided is related to maximizing data transmission throughput, and who consider the resources of a communication system are therefore to be saved.

[0041] Advantageously, for a given bitmap block, this method comprises a first step of activating said timer, when said transmitter sends to said receiver the first of said data packets of consecutive identifiers associated with said block, so that the timer switches to said activated state.

[0042] Triggering the timer associated with a given bitmap block therefore occurs as soon as the first of the PDUs associated with this block is sent, i.e. when the PDU of the block having the smallest sequence number is sent.

[0043] According to an advantageous characteristic of the invention, for a given bitmap block, this method comprises a first step of deactivating said timer after a predetermined maximum duration, and said data packets of said block are then considered by said transmitter in said unacknowledged state.

[0044] As part of the H/2 ARQ protocol, this predetermined maximum duration corresponds to the maximum round trip time RTTmax. Thus, when the timer indicates that a time greater than or equal to RTTmax has elapsed since the transmission of the first PDU associated with the block, and when no corresponding feedback message has been received for this block, the transmitter then considers that a transmission error may have occurred, and that the corresponding PDUs are in principle unacknowledged. The timer is deactivated automatically when RTTmax times out.

[0045] According to a second advantageous characteristic of the invention, for a given bitmap block, this method comprises a second step of deactivating said timer when said transmitter receives a cumulated acknowledgement at least of said data packets of said block, indicating that said data packets of said block are in said acknowledged state.

[0046] Therefore, if for instance the receiver sends a feedback message indicating that all PDUs with sequence numbers comprised between 0 and 10 have been received correctly, upon receipt of this cumulated feedback message by the transmitter, the timer associated with bitmap block 0, corresponding to PDUs 0 to 7, is then deactivated.

[0047] According to a third advantageous characteristic of the invention, for a given bitmap block, this method comprises a third step of deactivating said timer, when said transmitter receives a feedback message comprising at least said bitmap block.

[0048] Preferably, upon receipt by the transmitter of said feedback message, this method implements a step of analysing said feedback message, in order to determine said acknowledged or unacknowledged state of each of said data packets of said block.

[0049] As part of the H/2 ARQ protocol, if such a feedback message comprises e.g. a single bitmap block, the transmitter then starts to read the values 0 and 1 of the 8 consecutive bits of this block. A 0 value bit indicates that the PDU, the sequence number of which is equal to the position of this bit, is in unacknowledged state.

[0050] As part of an ARQ protocol, during this step of analysing a bitmap block, the transmitter only considers PDUs whereof the sequence number is comprised in the current transmission window, i.e. between BoW and BoW+K_(s), according to the terms previously used in this document.

[0051] Advantageously, at the end of said step of deactivating said timer, at least one data packet of said block being in said unacknowledged state, a step of positioning at least some of said unacknowledged data packets of said block in a retransmission queue is implemented.

[0052] This retransmission queue can be a physical queue, e.g. in the form of a buffer, wherein PDUs waiting for retransmission are stored. Positioning a PDU into the queue can also consist in associating therewith a retransmission flag, which is up when the PDU is to be retransmitted, and down otherwise. More generally, positioning a PDU in the retransmission queue can consist in indicating that it is in a specific state prior to retransmission via any suitable technique.

[0053] As described before, the PDUs associated with a 0 value bit in the bitmap block received, but the sequence number of which is greater than BoW+K_(s), also called EoW (End of Window) are not taken into account during the step of analysing the feedback message, and therefore are not positioned in the retransmission queue.

[0054] According to an advantageous alternative of the invention, at the end of said analysing step, this method implements a step of checking the presence, in said retransmission queue, of at least one acknowledged data packet of said block, and, when the presence in said queue of at least one acknowledged data packet of said block has been confirmed, it implements a step of deleting said acknowledged data packet(s) of said block from said retransmission queue.

[0055] Thereby, superfluous retransmission of positively acknowledged PDUs is avoided. This technique is particularly interesting when, e.g. a timer has timed out after a RTTmax duration, some PDUs of the corresponding block have been prepared for retransmission, and a feedback message, positively acknowledging some of the PDUs ready for retransmission, is then received by the transmitter, before the latter has been able to perform retransmission of the PDUs placed in the queue. The transmitter can then decide to remove from the queue the PDUs that have been positively acknowledged by the receiver.

[0056] According to an advantageous technique of the invention, this method implements at least one step of retransmitting said data packet(s) of said block positioned in said retransmission queue, and a second step of activating said timer of said block when the first of said data packets of said block positioned in said queue is retransmitted.

[0057] Thus, the PDUs of the queue that have not been acknowledged by the receiver are retransmitted and the timer is triggered again when the PDU with the smallest sequence number of the associated block is retransmitted.

[0058] Preferably, this transmission method implements an ARQ (Automatic Repeat Request) type protocol.

[0059] This ARQ protocol can be for instance of the Selective Repeat, or Go Back N type. In particular, the invention is applied as part of the ARQ SRPB (Selective Repeat with Partial Bitmap) protocol of the HiperLAN/2 standard.

[0060] According to a preferred embodiment of the invention, this transmission method furthermore comprises at least one time stamping step of associating a time stamp with at least some data packets in said unacknowledged state.

[0061] This time stamp can be expressed in frames, or any other time measuring unit, and in particular in milliseconds. As part of the H/2 ARQ protocol where frames have a fixed duration of 2 ms, expressing the value of a time stamp in milliseconds allows for better precision, in comparison with expressing the measurement in frames.

[0062] Preferably, said time stamp is activated when said transmitter sends said associated data packet.

[0063] Consequently, the time stamp allows the time that has elapsed since a PDU has been transmitted to be evaluated at any time.

[0064] According to another advantageous technique of the invention, said positioning step comprises a preliminary sub-step of selecting data packets to be positioned in said queue, depending on at least one predetermined selection criterion.

[0065] Preferably, said selection criterion takes into account at least one piece of the information belonging to the group composed of:

[0066] the value of said time stamp associated with a unacknowledged data packet of said block;

[0067] the ARQ class of said receiver.

[0068] Indeed, the value of a time stamp and the ARQ class of the receiver are indicators, respectively, of the time that has elapsed since the corresponding PDU has been transmitted, and the time required by the receiver for processing the PDU and transmitting a corresponding feedback message. Taking into account either of these two criteria, or both criteria at the same time, the transmitter can make a subtle decision as to whether it is necessary or not to position the PDU under consideration in a retransmission queue.

[0069] According to a special embodiment of the invention, said selection sub-step allows to select said unacknowledged data packet(s) of said block, associated with a time stamp having a greater value than said predetermined maximum duration.

[0070] Indeed, if a time stamp indicates that the PDU under consideration has been transmitted since a time greater than RTTmax, a missing corresponding feedback message can be considered by the transmitter as tantamount to a likely transmission error.

[0071] Advantageously, said positioning step further comprises for each of said selected data packets a sub-step of deactivating said associated time stamp.

[0072] As soon as a PDU is placed in the retransmission queue, its time stamp is thus deactivated.

[0073] According to a first preferred embodiment of the invention, when all unacknowledged data packets of said block have been selected in said selection sub-step, said time stamp takes the following value V(T) during said second activation step:

[0074] V(T)=t(activation)+d_(max),

[0075] where t(activation) is the current time value during said second activation step, and where d_(max) is said predetermined maximum duration, and the time stamp associated with each data packet of the block positioned in said queue is activated and takes the current time value during said retransmission of said data packet.

[0076] The d_(max) duration, also designated as RTTmax, can be expressed in frames, or e.g. in milliseconds. In the former case, and for frames lasting e.g. 2 ms, the equation above is then written as: V(T)=t(activation)+d_(max)*2, with V(T) and t(activation) being expressed in milliseconds.

[0077] According to a second preferred embodiment of the invention, at the end of said first step of deactivating said timer, if at least one unacknowledged data packet of said block, associated with a time stamp having a value of less than said predetermined maximum duration, has not been selected during said selection sub-step, this transmission method implements a third step of activating said timer of said block, so that said timer takes the following value V(T):

[0078] V(T)=V(run)+(Time stamp[i]−Time stamp[j]),

[0079] where V(run) is the value of said timer during said step of said timer running in said deactivated state, Time stamp[j] is the greater of said time stamps associated with said unacknowledged data packets of said block selected during said selection sub-step, and Time stamp[i] is the greater of the values of said time stamps associated with said unacknowledged data packets of said block that have not been selected during said selection sub-step.

[0080] Thus, when a timer has timed out, if at least one PDU of the block, which has been transmitted but not yet acknowledged, is not involved in retransmission, because its time stamp value is too low, the timer is immediately reactivated according to the equation above. This equation can also be written as V(T)=V(run)+(Time stamp[i]−Time stamp[j])*2 when the time stamp value is expressed in frames, and these frames have a duration of 2 ms. V(T) and V(run) are then expressed in milliseconds.

[0081] In case several PDUs have the same time stamp value Time stamp[i] or Time stamp[j], it can be envisaged to choose any of these values from the equation above.

[0082] Advantageously, at the end of said step of analysing said feedback message, the said method implements, for each of said acknowledged data packets of said block, a step of deactivating said associated time stamp.

[0083] According to a third preferred embodiment of the invention, at the end of said third step of deactivating said timer, if at least one unacknowledged data packet of said block has not been selected during said selection sub-step according to a decision criterion related to the ARQ class of said receiver, this transmission method implements a fourth step of activating said timer of said block, so that said timer takes the following value V(T):

[0084] V(T)=V(run)+(d_(max)−(t−Time stamp[i])),

[0085] where V(run) is the value of said timer during said step of said timer running in said deactivated state, d_(max) is said predetermined maximum duration, t is the current time value, and Time stamp[i] is the greater of the values of said time stamps associated with said unacknowledged data packets of said block that have not been selected during said selection sub-step.

[0086] As described before, the above equation can also be written as:

[0087] V(T)=V(run)+(d_(max)*2−(t−Time stamp[i]))

[0088] when d_(max) is expressed in frames, one frame lasting 2 ms, and t and Time stamp[i] are expressed in milliseconds. The equation can also be written as V(T)=V(run)+(d_(max)−(t−Time stamp[i]))*2 if d_(max) and Time stamp[i] are expressed in frames lasting 2 ms, and if t designates the current frame number.

[0089] If several PDUs have the same time stamp value, any of these values can be chosen from the equation above.

[0090] The invention also relates to a transmitter, a receiver, and a data transmission system implementing the data transmission method described previously.

[0091] Other features and advantages of the invention will be more apparent from reading the following description of a preferred embodiment, provided by way of example only and not to be restrictive, and the appended drawings, where:

[0092]FIG. 1 shows a block diagram of the various steps implemented according to the basic inventive mechanism as part of data packet exchanges between an ARQ transmitter and receiver;

[0093]FIG. 2 shows the PDU exchanges between an ARQ transmitter and receiver, when a timer is associated with each of the bitmap blocks according to the method of FIG. 1;

[0094]FIG. 3 shows a development of the embodiment of FIG. 2, according to which a time stamp is associated with the unacknowledged PDUs exchanged between the ARQ transmitter and receiver;

[0095]FIGS. 4a and 4 b describe PDU exchanges between an ARQ transmitter and an ARQ receiver according to an embodiment similar to that of FIG. 3, with a different RTTmax value corresponding to the maximum duration of one operating cycle;

[0096]FIG. 5 shows a sample PDU transmission between an ARQ class 0 transmitter and an ARQ class 1 receiver, according to a similar embodiment as in FIGS. 3 and 4.

[0097] It will be noted that FIGS. 2 to 4 can illustrate the special case of an ARQ transmitter located in access point AP, and a receiver located in a mobile terminal MT. If a communication between two terminals in direct mode is considered, wherein both terminals are then transmitting during the same phase, FIGS. 2 to 4 can also illustrate the special case where the first terminal transmitting in the frame is the ARQ transmitter and where the second terminal transmitting in the frame is the ARQ receiver for the communication under consideration.

[0098] The general principle of the invention is based on associating a timer with at least some bitmap blocks transmitted by the receiver to the transmitter.

[0099] In the course of this document, we will set out to describe an embodiment of the invention as part of the ARQ SRPB (Selective Repeat with Partial Bitmap) protocol of the HiperLAN/2 standard. It is recalled that, of course, the invention is also applicable to other types of data transmission protocols, based on error detection at the time of transmission and on retransmission of lost or damaged data.

[0100] Referring to FIG. 1, the various implementation steps according to the basic inventive mechanism will be described briefly as part of the PDU exchanges between an ARQ transmitter and receiver. These steps will be described more in detail with reference to FIGS. 2 to 5.

[0101] During a step referenced as 10, according to the method of this invention, at least one timer is associated with some or all of the acknowledgement blocks, also called bitmap blocks, that an ARQ receiver is likely to transmit to an ARQ transmitter, within a feedback message. According to the ARQ protocol of the HiperLAN/2 standard, such a bitmap block is associated with 8 consecutive PDUs, and activates the selective acknowledgement of each of these PDUs.

[0102] The timer is activated during a step referenced as 11, during the transmission of the first of the consecutive PDUs associated with the block under consideration. It is then deactivated during a later step referenced as 12, after a predetermined maximum duration has expired or upon receipt of an acknowledgement of at least some of the PDUs of the block under consideration.

[0103] When the timer is deactivated, the ARQ transmitter implements a step 13 of selecting the possible unacknowledged PDU(s) to be retransmitted to the ARQ receiver, then positions 14 the selected PDUs in the retransmission queue.

[0104] When the first PDU of the block, wherewith the timer is associated, positioned at the end of the queue, is retransmitted 15 the corresponding timer is reactivated 11.

[0105] Now, referring to FIG. 2, we are going to present an embodiment of handling the timers associated with the bitmap blocks sent by the receiver, as part of the PDU exchanges between a transmitter 1 and a receiver 2.

[0106] The PDU exchanges are organized in frames, designated f₀ to f₇ in FIG. 2. According to the ARQ protocol of the HiperLAN/2 standard, these frames last 2 ms.

[0107] It is considered that the transmitter and the receiver of FIG. 2 are of ARQ class 0, i.e.:

[0108] after having received in frame f_(i) a message indicating the state of acknowledgement of several PDUs, the ARQ transmitter is able to retransmit in the same frame f_(i) (or in the consecutive frame according to whether its transmission phase is before or after that of the receiver) the unacknowledged PDU(s), provided it has the required resources;

[0109] after having received one or more PDUs in frame f_(i), the ARQ receiver is able to transmit to the transmitter, in the same frame f , (or in the consecutive frame according to whether its transmission phase is before or after that of the transmitter) one (or several) feedback message for the PDU(s) received if it has the required resources.

[0110] Furthermore, it is considered that the maximum duration of an operating cycle, hereafter called RTTmax (Round Trip Time), is equal to 3 frames.

[0111] First of all, we are going to examine the bitmap block associated with the PDUs of sequence numbers 0 to 7, which will hereafter be designated as BMB₀ (bitmap block). At the time to, which corresponds to the beginning of frame f₀, the value of BMB₀ is 00000000, indicating that the PDUs with sequence numbers 0 to 7 are all in unacknowledged state. According to the invention, a timer T₀ is associated with BMB₀.

[0112] In frame f₀, transmitter 1 sends the PDUs with sequence number 0 to 4 to receiver 2. Timer T₀ is activated at time t₀+Δ₀, when the PDU with sequence number 0 is transmitted, designated as PDU(0). It will be deactivated at the latest after a RTTmax duration equal to 3 frames, i.e. 6 ms, as part of the HiperLAN/2 standard, i.e. that T₀ will be deactivated at the latest at time t=t₀+6+Δ₀.

[0113] As indicated in FIG. 2, PDU(0) and PDU(4) have been received correctly by receiver 2. On the other hand, an incident (symbolized by a cross on the PDU transmission arrow) has occurred during transmission of PDU(1), PDU(2), and PDU(3).

[0114] In frame fl, which starts at time t₁, transmitter 1 sends PDU(5), which is not received correctly, PDU(6), PDU(7), and PDU(8). When PDU(8) is transmitted, at time t₁+Δ₁, transmitter 1 activates timer T₁ associated with BMB₁ corresponding to PDUs with sequence numbers 8 to 15. T₁ will be deactivated at the latest at time t₁+6+Δ₁, after a duration equal to RTTmax.

[0115] When PDU(8) has been received, receiver 2 sends a feedback message to transmitter 1 containing BMB₀ with a value equal to 10001011. Upon receipt of BMB₀, transmitter 1 deactivates T₀, analyses the feedback message, and determines that PDU(1), PDU(2), PDU(3), and PDU(5) have not been acknowledged, and must therefore be retransmitted.

[0116] Frame f₂ starts at time t₂. Being of ARQ class 0, transmitter 1 retransmits PDU(1) and PDU(2) to the receiver 2, in frame f₂. During the retransmission of PDU(1), at time t₂+Δ₂, timer T₀ associated with BMB₀ is reactivated, for a maximum duration equal to t₂+6+Δ₂.

[0117] In the same frame f₂, transmitter 1 receives a feedback message from receiver 2 containing BMB₀, of value 11101011. It then deactivates timer To, analyses the feedback message, and determines that PDU(3) and PDU(5) are still in unacknowledged state and must therefore be retransmitted to receiver 2.

[0118] In frame f₃, transmitter 1 is assigned the resources required for transmitting PDU(3), PDU(5), PDU(9), and PDU(10). Again, when PDU(3) is transmitted at time t₃+Δ₃, transmitter 1 activates T₀, for a maximum duration equal to t₃+6+Δ₃.

[0119] In frame f₄, transmitter 1 has the resources required for transmitting PDU(11) and PDU(12), which receiver 2 receives improperly, as illustrated in FIG. 2. In the same frame f₄, receiver 2 sends a feedback message comprising BMB₀ and BMB₁. However, an incident occurs in the course of the transmission of this feedback message, which is not received by transmitter 1.

[0120] In frame f₅, transmitter 1 thus proceeds with transmitting PDU(13), PDU(14), and PDU(15). At time t′₅, timer T₁ expires after RTTmax, and therefore goes into deactivated state. Transmitter 1 then deduces therefrom that none of the PDUs associated with BMB₁ is in acknowledged state, and that all the PDUs associated with BMB₁ are therefore to be retransmitted. As there is still one resource available, and being of ARQ class 0, transmitter 1 thus starts to retransmit PDU(8) in the same frame f₅ at time t₅+Δ₅, and then reactivates T₁, for a maximum duration of t₅+Δ₅+6.

[0121] In frame f₆, transmitter 1 retransmits PDU(9). Again, timer T₀ goes into deactivated state, after RTTmax, specifying to transmitter 1 the unacknowledged state of PDU(3) and PDU(5). The retransmission queue maintained by transmitter 1 is then updated, in order to comprise the PDUs with the following sequence numbers: {3, 5, 10, 11, 12, 13, 14, 15}. Sorting the PDUs of the queue by ascending order of sequence numbers activates transmitter 1 to determine that it must retransmit, in frame f₆, PDU(3), PDU(5), then PDU(10). Timer T₀ is again reactivated during transmission of PDU(3). After the PDUs with sequence number 3, 5, and 10 have been retransmitted, the retransmission queue is updated and comprises the PDUs with the following sequence numbers: {11, 12, 13, 14, 15}.

[0122] After having correctly received PDU(10), receiver 2 sends a feedback message to transmitter 1 comprising BMB₀=11111111 and BMB₁=11100110. Upon receipt of this message, T₁ and T₀ are deactivated.

[0123] According to a particularly advantageous embodiment of the invention, transmitter 1 analyses the feedback message received, determines that PDU(13) and PDU(14) have been acknowledged by receiver 2, and deletes them from the retransmission queue, so that is now contains the PDUs with sequence numbers {11, 12, 15}.

[0124] In frame f₇, transmitter 1 thus retransmits PDU(11), PDU(12), and PDU(15). In frame f₈, receiver 2 transmits a feedback message comprising BMB₁=11111111, which, when received by transmitter 1, leads to deactivation of timer T₁.

[0125] All PDUs with sequence numbers 0 to 15 have then been acknowledged, and the retransmission queue maintained by transmitter 1 is now empty.

[0126] Referring to FIG. 3, we are now going to present a second embodiment of the invention, wherein, in addition to a timer being associated with each of the bitmap blocks, a time stamp is associated with each unacknowledged PDU.

[0127] Again, an ARQ class 0 transmitter and receiver are under consideration, but now, a RTTmax duration of 2 frames is considered, i.e. 4 ms for HiperLAN/2 where frames last 2 ms.

[0128] Again, we will examine frames numbered f₀ to f₇. A timer T₀ is associated with bitmap block BMB₀, associated with PDUs numbered 0 to 7. Also, a time stamp H_(i) is associated with the PDU having sequence number i, the value of which is expressed in frames, and which is activated during transmission of PDU(i).

[0129] Thus, in FIG. 3, transmitter 1 sends the PDUs numbered 0 to 4 in frame f₀. At PDU(0) transmission time t₀+Δ₀, T₀ is activated, which will be deactivated at the latest after a duration equal to RTTmax, i.e. at time t₀+Δ₀+4. At the end of frame f₀, time stamps H₀ to H₄ are therefore activated and have a value of 0, and time stamps H₅ to H₇ are deactivated.

[0130] In frame f₁, transmitter 1 transmits PDUs numbered 5 to 7. Time stamps H₅ to H₇ therefore take the value of 1. Furthermore, receiver 2 sends a feedback message comprising BMB₀=11010100 to transmitter 1, which analyses this message, and, receiver 2 being of ARQ class 0, deduces therefrom that the PDUs numbered 2, 4, 6, and 7 have not been acknowledged and must therefore be retransmitted. Upon receipt of this feedback message, all the time stamps H_(i) of PDUs 0 to 7 are deactivated, as well as timer T₀.

[0131] In frame f₂, transmitter 1 retransmits PDU(2) at t₂+Δ₂, and then reactivates T₀ for a maximum duration equal to RTTmax, then retransmits PDU(4). Then, H₂ and H₄ are obtained, activated and equal to 2; the other time stamps H_(i) of the PDUs of BMB₀ are deactivated.

[0132] In frame f₃, transmitter 1 retransmits PDU(6) and PDU(7), and receiver 2 sends a feedback message containing BMB₀, which is not correctly received by transmitter 1. H₆ and H₇ are then activated at value 3. At t′₄=t₂+Δ₂+4, timer T₀ is deactivated. Transmitter 1 must then determine, during a step referenced as 20, which are the PDUs that must be positioned in a queue for subsequent retransmission.

[0133] Transmitter 1 then analyses the value, expressed in frames, of the time stamps associated with the various unacknowledged PDUs of BMB₀, i.e. PDU(2), PDU(4), PDU(6), and PDU(7). f(t) designates the number of the frame to which belongs time t. For PDUs 2, 4, 6, and 7, the following is obtained:

[0134] f(t′₄)−H₂=4−2=2≧RTTmax

[0135] f(t′₄)−H₄=4−2=2≧RTTmax

[0136] f(t′₄)−H₆=4−3=1<RTTmax

[0137] f(t′₄)−H₇=4−3=1<RTTmax

[0138] It is deduced therefrom that PDUs 6 and 7 must not be retransmitted, as they have been sent too recently to be sure that receiver 2 has processed them: indeed, only one frame has passed between their transmission and deactivation of To. Transmitter 1 then places PDU(2) and PDU(4) in the retransmission queue, and timer T₀ is reactivated immediately at:

[0139] T₀=V(run)+(H_(i)−H_(j))

[0140] where V(run) is the value of T₀ during deactivation thereof, H_(i) is the time stamp value of the oldest unacknowledged PDU of BMB₀ not to be retransmitted, and H_(i) is the value of the oldest unacknowledged PDU of BMB₀ to be retransmitted.

[0141] I.e., T₀=t′₄+(H₆−H₂)*2 in ms

[0142] I.e., T₀=t′₄+2 in ms.

[0143] Transmitter 1 then retransmits PDU(2) and PDU(4) in frame f₄. Consequently, the retransmission queue is empty, and H₂=H₄=4 and H₆=H₇=3 is obtained. T₀ is deactivated in frame f₅ at time t′₅. Transmitter 1 then reiterates the calculation performed above, in order to determine, during the step referenced as 21, which are the unacknowledged PDUs of BMB₀ to be positioned in the retransmission queue:

[0144] f(t′₅)−H₂=5−4=1<RTTmax

[0145] f(t′₅)−H₄=5−4=1<RTTmax

[0146] f(t′₅)−H₆=5−3=2≧RTTmax

[0147] f(t′₅)−H₇=5−3=2≧RTTmax

[0148] It is deduced therefrom that PDUs 2 and 4 must not be retransmitted, as the time that has elapsed between their latest transmission and deactivation of T₀ is less than RTTmax, and it is therefore possible that these PDUs have not yet been processed by receiver 2: therefore, it seems to be normal for these two PDUs that the transmitter has not received a corresponding feedback message.

[0149] PDU(6) and PDU(7) are placed in the retransmission queue, and T₀ is immediately reactivated and takes the value defined by the equation above:

[0150] T₀=V(run)+(H_(i)−H_(j))

[0151] I.e., T₀=t′₅+(H₂−H₆)*2 in ms (as PDU(2) is the oldest unacknowledged PDU of BMB₁ not to be retransmitted, and PDU(6) is the oldest unacknowledged PDU of BMB₀ to be retransmitted) I.e., T₀=t′₅+2 in ms.

[0152] In frame f₅, transmitter 1 retransmits PDU(6). The retransmission queue then only contains PDU(7), and H₂=H₄=4, H₆=5, and H₇=3 is obtained. Transmitter 1 then receives a feedback message comprising BMB₀=11011110 from receiver 2. All time stamps associated with PDUs 0 to 7 are then deactivated, and PDU (7) and PDU(2) are positioned in the retransmission queue.

[0153] In frame f₆, PDU(7) is retransmitted at time t₆+Δ₆, and T₀ is reactivated and takes the value T₀=t₆+Δ₆+4. H₇ is also reactivated and takes the value 6, and PDU(7) is deleted from the retransmission queue.

[0154] In frame f₇, transmitter 1 transmits PDU(2), H₂ is then activated and takes the value 7, and the retransmission queue is then empty. Receiver 2 sends a feedback message containing BMB₀=11111111 acknowledging all of PDUs 0 to 7, but that a transmission incident is preventing correct reception by transmitter 1.

[0155] At time t′₈, in frame f₈, T₀ is deactivated. Transmitter 1 must then determine, during the step referenced as 22, which are the unacknowledged PDUs of BMB₀ that must be positioned in the retransmission queue. For this purpose, it analyses the value of the time stamps associated with PDU(2) and PDU(7), in order to determine the time that has elapsed between the latest transmission of these PDUs and deactivation of T₀:

[0156] f(t′₈)−H₂=8−7=1<RTTmax

[0157] f(t′₈)−H₇=8−6=2≧RTTmax

[0158] Only PDU(7) is placed in the retransmission queue, as it has been sent a sufficiently long time ago for receiver 2 to have processed and acknowledged it. A missing feedback message for PDU(7) therefore indicates a possible transmission error.

[0159] Timer T₀ is immediately reactivated and takes the value T₀=t′₈+(H₂−H₇)*2 in ms, i.e. T₀=t₈+2.

[0160] In frame f₈, transmitter 1 receives a feedback message comprising bitmap block BMB₀=11111111, indicating that receiver 2 has correctly received all PDUs with sequence numbers 0 to 7. All time stamps H₀ to H₇ are then deactivated, as is timer T₀.

[0161] The mechanisms implemented by the ARQ transmitter and receiver in FIG. 4 are similar to those illustrated in FIG. 3, and therefore, they are not described in further detail in this document. FIG. 4 shows an ARQ class 0 transmitter and receiver, for which the RTTmax duration is fixed at 10 frames, i.e. 20 ms as part of the HiperLAN/2 ARQ protocol.

[0162] It will be noted that at the end of the step referenced as 31, it is determined that PDU(0) must be positioned in the retransmission queue for subsequent retransmission. However, in the same frame f₁₁, and before it has been possible to retransmit PDU(0), transmitter 1 receives a feedback message from receiver 2 comprising bitmap block BMB₀=11111111, indicating that receiver 2 has correctly received PDU(0). Transmitter 1 therefore detects that it is not necessary to retransmit PDU(0) and implements a step 30 of deleting PDU(0) from the retransmission queue.

[0163] Referring to FIG. 5, we are now going to describe a sample implementation of the invention as part of data packet (PDU) exchanges between an ARQ class 0 transmitter and an ARQ class 1 receiver. d=1 (expressed in frames) designates the processing time of ARQ class 1 receiver. Suppose that RTTmax=3 frames, i.e. 6 ms, and frames f₀ to f₇ are considered, during which PDU(0) to PDU(7) are transmitted. Timer T₀ is associated with bitmap block BMB₀, and a time stamp H_(i) is associated with each PDU(i).

[0164] In frame f₀, starting at time to, transmitter 1 transmits PDU(0) to PDU(4). When PDU(0) is transmitted, timer T₀ associated with block BMB₀ is activated and takes the value T₀=t₀+6+Δ₀. Time stamps H₀ to H₄ are activated and take the value 0, thus indicating that PDUs 0 to 4, with whom they are associated, have been transmitted in frame f₀.

[0165] In frame f₁, transmitter 1 then transmits PDUs numbered 5 to 7, and time stamps H₅ to H₇ are then activated and take the value 1. At time t′₁, in frame f₁, transmitter 1 receives a feedback message from receiver 2 comprising bitmap block BMB₀=10101000. When this message is received, timer T₀ is deactivated.

[0166] Transmitter 1 then implements an analysis of this feedback message, in order to determine, during a step referenced as 40, the unacknowledged PDUs of block BMB₀ that are be positioned in the retransmission queue.

[0167] This step 40 consists in evaluating the time, expressed in frames, that has elapsed between transmission of a PDU and deactivation of timer T₀. For PDU(0) to PDU(4), f(t′₁)−H_(i)=1≧d_(RX) is obtained. Consequently, it is deduced therefrom that the feedback message received transports the actual state of acknowledgement of PDUs 0 to 4: PDUs 1 and 3 are therefore in unacknowledged state.

[0168] On the other hand, for PDU(5) to PDU(7), f(t′₁) H_(i)=1−1=0<d_(RX) is obtained. Consequently, it is deduced therefrom that PDUs 5 to 7 cannot be involved by the feedback message received at time t′₁. Indeed, given the class of receiver 2, they have been sent too late for the latter to have had the time to receive them, process them and send a corresponding feedback message to transmitter 1 before time t′₁.

[0169] At the end of step 40, transmitter 1 therefore determines that only PDU(1) and PDU(3) must be positioned in the retransmission queue. Timer T₀ is then reactivated immediately and takes the following value:

[0170] T₀=V(run)+(RTTmax−(f(t′₁)−H_(i))

[0171] where V(run) is the value of timer T₀ when it is deactivated, f(t′₁) is the current time value expressed in frames, and H_(i) is the value of the time stamp associated with the oldest unacknowledged PDU of BMB₀ not to be retransmitted. Thus:

[0172] T₀=t′₁+(RTTmax−(f(t′₁)−H₅))*2

[0173] T₀=t′₁+(3−(1−1))*2

[0174] T₀=t′₁+6 in ms

[0175] is obtained.

[0176] The time stamps of PDU(1) and PDU(3) are then deactivated, as are those of PDU(0), PDU(2), and PDU(4), which have actually been acknowledged.

[0177] During frame f₂, transmitter 1 retransmits PDU(1), which is not received correctly by receiver 2, and time stamp H₁ is then activated and takes the value 2. The retransmission queue now only contains PDU(3). In frame f₃, transmitter 1 sends PDU(3), the corresponding timer H3 is activated and takes the value 3, and the retransmission queue is now empty.

[0178] In frame f₄, receiver 2 sends a feedback message comprising BMB₀=10111101, but due to a transmission incident, transmitter 1 does not receive it. At time t′₄ in frame f₄, timer T₀ therefore times out after RTTmax. Transmitter 1 then implements a step 41 of determining, depending on the H_(i) time stamp values of the unacknowledged PDUs, and the ARQ classes of transmitter 1 and receiver 2, the PDU(s) to be positioned in the retransmission queue.

[0179] For PDU(1) and PDU(3):

[0180] f(t′₄)−H₁=4−2=2<RTTmax, and

[0181] f(t′₄)−H₃=4−3=1<RTTmax are obtained, respectively.

[0182] It is deduced therefrom that PDUs 1 and 3 have been transmitted too recently to be sure that receiver 2 has had time enough to receive them, process them, and send a corresponding feedback message. Consequently, PDU(1) and PDU(3) must not be retransmitted.

[0183] On the other hand, for PDUs 5 to 7:

[0184] f(t′₄)−H₅=4−1=3≧RTTmax, and

[0185] f(t′₄)−H₆=4−1=3≧RTTmax, and

[0186] f(t′₄)−H₇=4−1=3≧RTTmax are obtained.

[0187] The time that has elapsed between transmission of each of PDUs 5 to 7 in frame 1, and timer T₀ timeout is sufficient for the receiver to have sent a feedback message relating to these PDUs. If this acknowledgement is missing, transmitter 1 makes the decision of positioning PDU(5), PDU(6), and PDU(7) in the retransmission queue.

[0188] The corresponding timer T₀ is reactivated immediately and takes the value:

[0189] T₀=V(run)+(H_(i)−H_(j))

[0190] where V(run) is the value of T₀ when it is deactivated, H_(i) is the time stamp value of the oldest unacknowledged PDU of BMB₀ not to be retransmitted, and H_(j) is the value of the oldest unacknowledged PDU of BMB₀ to be retransmitted.

[0191] I.e., T₀=t′₄+(H₁−H₅)*2 in ms

[0192] I.e., T₀=t′₄+2 in ms.

[0193] Time stamps H₅, H₆, and H₇ are deactivated.

[0194] Indeed, PDU(1) is the oldest unacknowledged PDU of BMB₀ not to be retransmitted, and PDU(5) is the oldest unacknowledged PDU of BMB₀ to be retransmitted.

[0195] Suppose e.g. that no transmission resource is assigned to transmitter 1 in frame f₅. At time t′₅, timer T₀ is deactivated after RTTmax without any acknowledgement having been received for the PDUs of BMB₀.

[0196] Transmitter 1 carries out another step 42 of determining the unacknowledged PDUs to be retransmitted, implementing calculations similar to those exposed above:

[0197] f(t′₅)−H₁=5−2=3≧RTTmax, and

[0198] f(t′₅)−H₃=5−3=2<RTTmax.

[0199] Only PDU(1) can then be positioned in the retransmission queue, as the time that has elapsed between transmission of PDU(3) and T₀ timeout is too little to be sure that receiver 2 has already been able to process PDU(3).

[0200] Therefore, transmitter 1 places PDU(1) in the retransmission queue, which thus contains the sequence numbers of the following PDUs: {5,6,7}∪{1}.

[0201] Timer T₀ is immediately reactivated and takes the value:

[0202] T₀=V(run)+(H_(i)−H_(j)) as above.

[0203] I.e. T₀=t′₅+(H₃−H₁)*2 in ms

[0204] I.e. T₀=t′₅+2 in ms.

[0205] Time stamp H_(i) is deactivated, and H₃ is thus the only time stamp still active among all the PDUs associated with BMB₀.

[0206] In frame f₆, transmitter 1 has sufficient resources to transmit all the PDUs of the queue. Time stamps H_(i) and H₅ to H₇ are then activated and take the value 6, and the retransmission queue is then empty. Moreover, at time t′₆, transmitter 1 receives a feedback message comprising BMB₀=10111101, and then deactivates T₀.

[0207] Upon receipt of BMB₀, transmitter 1 implements a step 43 of determining the unacknowledged PDU(s) of BMB₀ to be positioned in the retransmission queue. For this purpose, it evaluates the time that has elapsed between transmission of each of the unacknowledged PDUs (in particular PDU(1) and PDU(6)) and deactivation of T₀:

[0208] f(t′₆)−H₁=6−6=0<d_(RX)<, and

[0209] f(t′₆)−H₆=6−6=0<d_(RX).

[0210] Given the ARQ class of receiver 2, PDU(1) and PDU(6) are in principle not involved by the feedback message received at t′₆. It is not necessary to position them in the retransmission queue. Timer T₀ is immediately reactivated and takes the value:

[0211] T₀=V(run)+RTTmax−(f(t′₆)−H_(i))),

[0212] where V(run) is the value of timer T₀ when it is deactivated, f(t′₆) is the current time value expressed in frames, and H_(i) is the time stamp value associated with the oldest unacknowledged PDU of BMB₀ not to be retransmitted. Thus:

[0213] T₀=t′₆+(RTTmax−(f(t′₆)−H₁))*2

[0214] T₀=t′₆+(3−(6−6))*2

[0215] T₀=t′₆+6 in ms is obtained.

[0216] The time stamps of positively acknowledged PDUs 5 and 6 are deactivated.

[0217] In frame f₇, transmitter 1 receives another feedback message comprising BMB₀=11111111, which allows deactivation of T₀ and indicates that all PDUs associated with BMB₀ have been correctly acknowledged. All corresponding time stamps are deactivated. 

1. Method for transmitting data between at least one transmitter and at least one receiver , in the form of packets of at least one data item, each of said data packets being associated with an identifier of said packet, said receiver periodically sending a feedback message to said transmitter, comprising at least one bitmap block associated with a predetermined number of data packets having consecutive identifiers, so as to selectively inform said transmitter of a state of acknowledgement (acknowledged or unacknowledged) of each of said data packets of said block, characterized in comprising at least one step of associating at least one timer with at least some of said bitmap blocks.
 2. Data transmission method according to claim 1, characterized in comprising, for a given bitmap block, a first step of activating said timer, when said transmitter sends to said receiver the first of said data packets of consecutive identifiers associated with said block, so that said timer switches to said activated state.
 3. Data transmission method according to any of claims 1 and 2, characterized in comprising, for a given bitmap block, a first step of deactivating said timer after a predetermined maximum duration, and in that said data packets of said block are then considered by said transmitter in said unacknowledged state.
 4. Data transmission method according to any of claims 1 to 3, characterized in comprising, for a given bitmap block, a second step of deactivating said timer when said transmitter receives a cumulated acknowledgement of at least said data packets of said block, indicating that said data packets of said block are in said acknowledged state.
 5. Data transmission method according to any of claims 1 to 4, characterized in comprising, for a given bitmap block, a third step of deactivating said timer, when said transmitter receives a feedback message comprising at least said bitmap block.
 6. Data transmission method according to claim 5, characterized in that, when the transmitter receives said feedback message, a step of analysing said feedback message is implemented, so as to determine said acknowledged or unacknowledged state of each of said data packets of said block.
 7. Data transmission method according to any of claims 3 to 6, characterized in that, at the end of one of said steps of deactivating said timer, at least one data packet of said block being in said unacknowledged state, a step of positioning at least some unacknowledged data packets of said block in a retransmission queue is implemented.
 8. Data transmission method according to any of claims 6 and 7, characterized in that, at the end of said analysis step, a step of checking the presence, in said retransmission queue, of at least one acknowledged data packet of said block is implemented, and in that, when the presence in said queue of at least one acknowledged data packet of said block has been confirmed, a step of deleting said acknowledged data packet(s) of said block from said retransmission queue is implemented.
 9. Data transmission method according to any of claims 7 and 8, characterized in that at least one step of retransmitting said data packet(s) of said block positioned in said retransmission queue is implemented, and a second step of activating said timer of said block is implemented when the first of said data packets of said block positioned in said queue are retransmitted.
 10. Data transmission method according to any of claims 1 to 9, characterized in that an ARQ (Automatic Repeat Request) type protocol is implemented.
 11. Data transmission method according to any of claims 1 to 10, characterized in further comprising at least one time stamping step of associating a time stamp with at least some data packets in said unacknowledged state.
 12. Data transmission method according to claim 11, characterized in that said time stamp is activated when said transmitter sends said associated data packet.
 13. Data transmission method according to any of claims 7 to 12, characterized in that said positioning step comprises a preliminary sub-step of selecting data packets to be positioned in said queue, depending on at least one predetermined selection criterion.
 14. Data transmission method according to claim 12, characterized in that said selection criterion takes into account at least one item of the information belonging to the group composed of: the value of said time stamp associated with an unacknowledged data packet of said block; the ARQ class of said receiver.
 15. Data transmission method according to any of claims 13 and 14, characterized in that said selection sub-step allows the selection of said unacknowledged data packet(s) of said block, associated with a time stamp having a value greater than or equal to said predetermined maximum duration.
 16. Data transmission method according to any of claims 11 to 15, characterized in that said positioning step further comprises, for each of said selected data packets, a sub-step of deactivating said associated time stamp.
 17. Data transmission method according to claims 9 and 13, characterized in that, when all unacknowledged data packets of said block have been selected in said selection sub-step, said timer takes the following value V(T) during said second activation step: V(T)=t(activation)+d_(max), where t(activation) is the current time value during said second activation step, and where d_(max) is said predetermined maximum duration, and in that the timer associated with each data packet of the block positioned in said queue is activated and takes the current time value during said retransmission of said data packet.
 18. Data transmission method according to any of claims 15 to 17, characterized in that, at the end of said first step of deactivating said timer, if at least one unacknowledged data packet of said block, associated with a time stamp having a value of less than said predetermined maximum duration, has not been selected during said selection sub-step, a third step of activating said timer of said block is implemented, so that said timer takes the following value V(T): V(T)=V(run)+(Time stamp[i]−Time stamp[j]), where V(run) is the value of said timer during said step of said timer running in said deactivated state, Time stamp[j] is the greater value of said time stamps associated with said unacknowledged data packets of said block selected during said selection sub-step, and Time stamp[j] is the greater value of said time stamps associated with said unacknowledged data packets of said block not selected during said selection sub-step.
 19. Data transmission method according to claim 6 and any of claims 11 to 18, characterized in that, at the end of said step of analysing said feedback message, said method implements, for each of said acknowledged data packets of said block, a step of deactivating said associated time stamp.
 20. Data transmission method according to any of claims 14 to 19, characterized in that, at the end of said third step of deactivating said timer, if at least one unacknowledged data packet of said block has not been selected during said selection sub-step depending on a decision criterion related to the ARQ class of said receiver, a fourth step of activating said timer of said block is implemented, so that said timer takes the. following value V(T): V(T)=V(run)+(d_(max)−(t−Time stamp[i])), where V(run) is the value of said timer during said step of said timer running in said deactivated state, d_(max) is said predetermined maximum duration, t is the current time value, and Time stamp[i] is the greater value of said time stamps associated with said unacknowledged data packets of said block not selected during said selection sub-step.
 21. Transmitter for transmitting data to at least one receiver, in the form of packets of at least one data item, each of said data packets being associated with an identifier of said packet, said receiver periodically sending a feedback message to said transmitter, comprising at least one bitmap block associated with a predetermined number of data packets having consecutive identifiers, so as to selectively inform the transmitter of a state of acknowledgement (acknowledged or unacknowledged) of each of said data packets of said block, characterized in that said transmitter comprises means for associating at least one timer with at least some of said bitmap blocks.
 22. Receiver for data transmitted from at least one transmitter, in the form of packets of at least one data item, each of said data packets being associated with an identifier of said packet, said receiver periodically sending a feedback message to said transmitter, comprising at least one bitmap block associated with a predetermined number of data packets having consecutive identifiers, so as to selectively inform the transmitter of a state of acknowledgement (acknowledged or unacknowledged) of each of said data packets of said block, characterized in that it is implemented in the data transmission method according to any of claims 1 to
 20. 23. System for transmitting data between at least one transmitter and at least one receiver, in the form of packets of at least one data item, each of said data packets being associated with an identifier of said packet, said receiver periodically sending a feedback message to said transmitter, comprising at least one bitmap block associated with a predetermined number of data packets having consecutive identifiers, so as to selectively inform the transmitter of a state of acknowledgement (acknowledged or unacknowledged) of each of said data packets of said block, characterized in comprising means for associating at least one timer with at least some of said bitmap blocks. 